tools/remus: fix build in (symlinked) read-only source tree
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 10 Feb 2010 09:19:16 +0000 (09:19 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 10 Feb 2010 09:19:16 +0000 (09:19 +0000)
Modifying source files should generally be avoided; if it is being
done, care should at least be taken to not attempt writes to read-only
files.

While at it, also force the whole ugly construct to fail if any of its
commands fails.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
tools/remus/imqebt/Makefile

index f2d3f067126a8db32d056bac14e0dc64cb710120..59dcd7d955335aa6b536e358240b837dfdd1881e 100644 (file)
@@ -52,11 +52,12 @@ build: $(PROGRAMS)
 # a little scripting for a static binary, making one for ebtables-restore
 # should be completely analogous
 imqebt: extensions/ebt_*.c extensions/ebtable_*.c ebtables.c communication.c ebtables-standalone.c getethertype.c libebtc.c useful_functions.c
-       cp ebtables-standalone.c ebtables-standalone.c_ ; \
-       cp include/ebtables_u.h include/ebtables_u.h_ ; \
-       sed "s/ main(/ pseudomain(/" ebtables-standalone.c > ebtables-standalone.c__ ; \
-       mv ebtables-standalone.c__ ebtables-standalone.c ; \
+       set -e ; \
+       mv ebtables-standalone.c ebtables-standalone.c_ ; \
+       sed "s/ main(/ pseudomain(/" ebtables-standalone.c_ > ebtables-standalone.c ; \
        printf "\nint main(int argc, char *argv[])\n{\n "  >> ebtables-standalone.c ; \
+       mv include/ebtables_u.h include/ebtables_u.h_ ; \
+       cat include/ebtables_u.h_ >include/ebtables_u.h ; \
        for arg in $(EXT_FUNC) \
        ; do \
        sed s/_init/_$${arg}_init/ extensions/ebt_$${arg}.c > extensions/ebt_$${arg}.c_ ; \